﻿using System;

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;

namespace SmlEngine.Sprites.Components
{
    /// <summary>
    /// Defines a base for a SpriteComponent.
    /// </summary>
    public abstract class SpriteComponent
    {
        public Sprite Owner { get; set; }

        protected SpriteComponent(Sprite sprite)
        {
            Owner = sprite;
            Owner.Components.Add(this);
        }

        public virtual void Initialize() { }
        public virtual void LoadContent(ContentManager content) { }
        public virtual void UnloadContent() { }
        public virtual void Update(GameTime gameTime) { }
        public virtual void Draw(GameTime gameTime, SpriteBatch spriteBatch) { }
    }
}
